\documentclass[]{article}
\usepackage{html}
\usepackage[T1]{fontenc}

\begin{document}
\bodytext{BGCOLOR=white LINK=#083194 VLINK=#21004A}

\begin{titlepage}

\begin{latexonly}
\noindent {\bf Community Climate System Model} \\
\noindent National Center for Atmospheric Research, Boulder, CO \\
\vspace{2in}
\end{latexonly}

\begin{center}
{\Large\bf Time and Date Utility Library Design} \\
\medskip
{Brian Eaton, NCAR/CGD}
\end{center}

\end{titlepage}

\tableofcontents

\newpage
%\section{Synopsis}
\input{timelib_syn}

%\section{Algorithmic Description}
%\input{comp_alg}

%\section{Requirements}
\input{timelib_req}

%\section{Architecture}
%\input{comp_arch}

\section{Time Class}

%\subsection{Description}
\input{time_desc}

\subsection{Design}

\subsubsection{Class Definition}

The attributes of the time class expressed as a Fortran 90 derived type are:

\noindent type time\_t \\
\indent private \\
\indent integer :: days \\
\indent integer :: seconds \\
\noindent end type time\_t

\subsubsection{Design Strategy}

The precision and range requirements of time intervals and dates determine their representation in 
terms of native machine types (i.e, floating point numbers and integers). The time and date classes
are defined to represent time intervals and dates, respectively, in order to insulate the user interface 
from the underlying representation.  This not only makes it easier to pass arguments (e.g., passing a
date argument versus passing all the integers that represent the components of a date), it also means 
that the interface doesn't have to change if the underlying representation were changed to support 
new precision or range requirements.

When an error is encountered the functions in this library will call a private error handling routine 
which issues a message explaining the error and then calls abort. The user may be able to customize the
error handling.

%\subsubsection{Restrictions}
\input{time_rest}

%\subsection{Fortran:  Parameters}
%\input{class_fparam}

\subsection{Fortran:  Interface}
\input{time_fapi}

%\subsection{Fortran:  Use and Examples}
%\input{class_fex}

\section{Date Class}

%\subsection{Description}
\input{date_desc}

\subsection{Design}

\subsubsection{Class Definition}

The attributes of the date class expressed as a Fortran 90 derived type are:

\noindent type date\_t \\
\indent private \\
\indent integer :: year \\
\indent integer :: month \\
\indent integer :: day \\
\indent integer :: sec \\
\noindent end type date\_t

\subsubsection{Design Strategy}

As with the time class, the date class hides the representation of its internal attributes from the 
user, thereby increasing the class's extensibility and portability.

%\subsubsection{Restrictions}
\input{date_rest}

%\subsection{Fortran:  Parameters}
\input{date_fparam}

\subsection{Fortran:  Interface}
\input{date_fapi}

%\subsection{Fortran:  Use and Examples}
%\input{class_fex}

\section{Review Status}

\noindent{\bf Requirements and Design Review} \\

\begin{tabular}{r p{1.3in} p{2in}}
{\bf Review Date:} & March 1, 2001 \\ \\
{\bf Reviewers:}   & Byron Boville        & NCAR/CGD \\
                   & Dave Williamson      & NCAR/CGD \\
                   & Phil Rasch           & NCAR/CGD \\
                   & Cecelia DeLuca       & NCAR/SCD \\
                   & Jim Rosinski         & NCAR/CGD
\end{tabular}

%\section{Glossary}
\input{timelib_glos}

%\section{Bibliography}
%\bibliography{comp} 
%\bibliographystyle{plain}
%\addcontentsline{toc}{section}{Bibliography}

\end{document}











